The present disclosure relates to a flash memory device including a flash memory, a memory control device for a flash memory, a method for the memory control device, and a storage system.
Some digital camera devices that capture, for example, a moving image or a still image use a memory card having a flash memory installed therein as a recording medium for image-captured data. In particular, there has been an increasing demand for data recording to be performed at a high speed with regard to a memory card used for moving image recording.
In a memory card having a flash memory installed therein, data in a flash memory has been managed by two types of management methods: block-level management and page-level management.
As is well familiar, in the block-level management, data is managed in units of the block size of a flash memory, and in page-level management, data is managed in units of the page size of a flash memory. The block is formed of a plurality of pages, and therefore, “block size>page size”.
Here, in page-level management, management of a data size unit smaller than that of the block-level management is possible. In block-level management and page-level management, when comparing the working memory that is necessary for a memory card, it can be seen that page-level management becomes necessary for a working memory of a larger size. Therefore, in order to manage all the flash memory inside a memory card in accordance with page-level management, a large working memory is necessary.
For this reason, in a memory card including a flash memory, some data is managed by page-level management, and the remaining data is managed by block-level management.
Specifically, in a memory card including a flash memory, in a case where the size of data for which writing is requested from a host device (for example, the above-mentioned digital camera device) side is small, received data is managed by page-level management, and in a case where the data size is large, received data is managed by block-level management.
Furthermore, in a case where the total amount of the data of a small size, which is written from the host device, exceeds the size that can be managed by page-level management, the management unit of a part of data is changed from being under page-level management to block-level management. This is what is commonly called garbage collection (for example, refer to Japanese Unexamined Patent Application Publication Nos. 2007-193883 and 2007-58840).